#include "PlatformProperty.h"
//自定义按键360全景影像
VENDOR_READ_WRITE_PROPERTY(CUSTOM_KEY_TYPE_360_PANORAMA, int32_t) {
    builder.area(VehicleArea::GLOBAL)
            .initValue([]() {
                return 0;
            })
            .withStatusBySignals([]([[maybe_unused]] const PropertyStatus &last) {
                int carconfig154= (int32_t)(SIGNAL.getcarconfig154());
                VHALOG.d("halWithStatusBySignals CUSTOM_KEY_TYPE_360_PANORAMA : carconfig154[%d] usgmod[%d] carmod[%d] ",
                    carconfig154, toInt(SIGNAL.getVehModMngtGlbSafe1UsgModSts()),
                    toInt(SIGNAL.getVehModMngtGlbSafe1CarModSts1()));
                if (carconfig154 == 0x03 || carconfig154 == 0x06 ||
                    carconfig154 == 0x0B || carconfig154 == 0x0C ||
                    carconfig154 == 0x82 || carconfig154 == 0x84 ||
                    carconfig154 == 0x86) {
                    if (!SIGNAL.usgModeIs(sdb::UsgModSts1::UsgModAbdnd) && SIGNAL.carModeIs(sdb::CarModSts1::CarModNorm)){
                       VHALOG.d("halWithStatusBySignals CUSTOM_KEY_TYPE_360_PANORAMA : Active ");
                       return PropertyStatus::Active;
                    } else {
                        VHALOG.d("halWithStatusBySignals CUSTOM_KEY_TYPE_360_PANORAMA : NotActive ");
                        return PropertyStatus::NotActive;
                    }
                } else {
                    VHALOG.d("halWithStatusBySignals CUSTOM_KEY_TYPE_360_PANORAMA : NotAvailable ");
                    return PropertyStatus::NotAvailable;
                }
            },SignalRX::VehModMngtGlbSafe1UsgModSts,SignalRX::VehModMngtGlbSafe1CarModSts1,SignalRX::carconfig154);
}